//
//  EOCPerson.h
//  Test
//
//  Created by 杨德龙 on 2017/3/7.
//  Copyright © 2017年 HipalSports. All rights reserved.
//

#import <Foundation/Foundation.h>

@class EOCEmployer;

/*
    1.0
    整个系统框架中这种结构体 如果使用对象来做的话,性能会收影响
    与创建结构体相比.创建对象还需额外开销,例如分配和释放堆内存
    
    强烈建议
    2.0 在读取实例变量的时候 直接访问 在设置实例变量的时候通过属性来做
 */
struct CustomStruct {
    CGPoint origin;
    CGSize  size;
};

// 可以在别处使用 
typedef struct CustomStruct CustomStruct;

@interface EOCPerson : NSObject


/**
 我们通过 这个特殊的字段来判断 一个对象是否和另外一个 对象相等  这个identifier 是唯一的
 */
@property (nonatomic,assign)NSUInteger identifier;

@property (nonatomic,copy)NSString *firstName;

@property (nonatomic,copy)NSString *lastName;


@property (nonatomic,strong)EOCEmployer *employer;


- (instancetype)initWithFirstName:(NSString *)firstName
                         lastName:(NSString *)lastName;

#pragma mark ----  初始化方法

#pragma mark ----  两种 setter 和 getter 方法对比
- (void)setFullName:(NSString *)fullName;

- (NSString *)fullName;

- (void)setInstanceFullName:(NSString *)instanceFullName;

- (NSString *)instanceFullName;






@end
